Digital data processing brings flexibility to many systems such that they can be configured according to the preferences of individual users. Different users may have different preferences. Further, one user may have different preferences under different situations. These flexible systems can be configured to meet the needs of individual users under different situations.
For example, call forwarding is a well known feature of many telephone systems. Call forwarding of a telephone system allows a user of a phone at a given phone number to dial a specific sequence on the phone to cause the telephone system to forward incoming calls addressed to the phone number to another specified phone number indicated by the dialed sequence. After call forwarding is turned on, the telephone system automatically forwards the calls until another sequence is dialed on the phone to turn off call forwarding. For example, on a phone at (321) 890-7654 a user may dial sequence #967*1230984567, which includes access code #967* for turning on call forwarding and the target phone number (123) 098-4567, to which the calls are forwarded. Thus, call forwarding for phone line (321) 890-7654 is turned on; and, incoming calls for (321) 890-7654 are forwarded to (123) 098-4567. To stop forwarding calls to (123) 098-4567, sequence #968# can be dialed on the phone (321) 890-7654.
Call forwarding may be unconditional. When unconditional call forwarding is turned on for a phone line, all incoming calls for the phone line are forwarded unconditionally to the phone number specified by the user. Call forwarding may also be conditional. For example, incoming calls can be forwarded to the specified phone number if the line is busy. Similarly, incoming calls can be forwarded to the specified phone number if the incoming calls are not answered (e.g., after the fourth ring). Thus, in this description, it is understood that call forwarding may refer to unconditional call forwarding or conditional call forwarding.
One example of a configurable system is powered seats in cars. For example, some cars are equipped with powered seats. An on-board computer of a car can remember the preferred seat positions for different drivers. When a driver selects one of the remembered preferences (e.g., by pressing a button representing the remembered preference), the powered seat automatically goes to the remembered position according to the data stored in the memory. Thus, after the on-board computer is instructed to remember the preferred seat position of a driver, the selected seat position for the driver can be easily recovered after any seat adjustment (e.g., adjusted for use by a different driver).
Another example of a configurable system is a desktop computer. For example, a computer system provides many user preferences (e.g., font size, window size, colors, etc.), which are adjustable for individual users. However, individually customizing these preferences can be tedious and time consuming.